home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / aviwi / avi_1.frm next >
Text File  |  1995-05-08  |  8KB  |  293 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   3  'Fixed Double
  5.    Caption         =   ".AVI in Window Demo"
  6.    ClientHeight    =   3150
  7.    ClientLeft      =   1740
  8.    ClientTop       =   1830
  9.    ClientWidth     =   7485
  10.    Height          =   3840
  11.    Left            =   1680
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   3150
  14.    ScaleWidth      =   7485
  15.    Top             =   1200
  16.    Width           =   7605
  17.    Begin CommandButton Command5 
  18.       Caption         =   "Sound"
  19.       Height          =   375
  20.       Left            =   2640
  21.       TabIndex        =   9
  22.       Top             =   2280
  23.       Width           =   615
  24.    End
  25.    Begin CommandButton Command4 
  26.       Caption         =   "Stop"
  27.       Height          =   375
  28.       Left            =   2040
  29.       TabIndex        =   8
  30.       Top             =   2280
  31.       Width           =   615
  32.    End
  33.    Begin CommandButton Command3 
  34.       Caption         =   "Step"
  35.       Height          =   375
  36.       Left            =   1440
  37.       TabIndex        =   7
  38.       Top             =   2280
  39.       Width           =   615
  40.    End
  41.    Begin CommandButton Command2 
  42.       Caption         =   "Pause"
  43.       Height          =   375
  44.       Left            =   840
  45.       TabIndex        =   6
  46.       Top             =   2280
  47.       Width           =   615
  48.    End
  49.    Begin CommandButton Command1 
  50.       Caption         =   "Play"
  51.       Height          =   375
  52.       Left            =   240
  53.       TabIndex        =   5
  54.       Top             =   2280
  55.       Width           =   615
  56.    End
  57.    Begin FileListBox File1 
  58.       Height          =   2370
  59.       Left            =   5760
  60.       Pattern         =   "*.avi"
  61.       TabIndex        =   3
  62.       Top             =   120
  63.       Width           =   1455
  64.    End
  65.    Begin DirListBox Dir1 
  66.       Height          =   1830
  67.       Left            =   3960
  68.       TabIndex        =   2
  69.       Top             =   600
  70.       Width           =   1455
  71.    End
  72.    Begin DriveListBox Drive1 
  73.       Height          =   315
  74.       Left            =   3960
  75.       TabIndex        =   1
  76.       Top             =   120
  77.       Width           =   1455
  78.    End
  79.    Begin PictureBox Picture1 
  80.       BackColor       =   &H00808080&
  81.       Height          =   1815
  82.       Left            =   720
  83.       ScaleHeight     =   1785
  84.       ScaleWidth      =   2025
  85.       TabIndex        =   0
  86.       Top             =   240
  87.       Width           =   2055
  88.    End
  89.    Begin Label Label1 
  90.       Height          =   255
  91.       Left            =   1200
  92.       TabIndex        =   10
  93.       Top             =   2040
  94.       Width           =   1215
  95.    End
  96.    Begin Label Label10 
  97.       Height          =   255
  98.       Left            =   1200
  99.       TabIndex        =   4
  100.       Top             =   0
  101.       Width           =   1215
  102.    End
  103.    Begin Menu about 
  104.       Caption         =   "About..."
  105.       Begin Menu about1 
  106.          Caption         =   "About .AVI File Viewer Demo "
  107.          WindowList      =   -1  'True
  108.       End
  109.    End
  110. End
  111.  
  112. Sub about1_Click ()
  113.    CRLF$ = Chr$(13) + Chr$(10)
  114.    Msg$ = "Written by Rolf Mathison" + CRLF$ + "Compuserve 76376,3224" + CRLF$ + "This program demonstrates" + CRLF$ + "How to play .AVI files in a window" + CRLF$ + CRLF$ + "(Print out the form text & code for details)"
  115.    MsgBox (Msg$)
  116. End Sub
  117.  
  118. Sub Command1_Click ()
  119. ' Close any open MCI devices
  120.    Action$ = "Close all"
  121.    i = mciExecute(Action$)
  122.  
  123. ' Open the file with an alias (VID)
  124.    AliasName$ = "VID"
  125.    Action$ = "open " + mciFile + " alias " + AliasName$
  126.    i = mciExecute(Action$)
  127.  
  128. ' Set the Focus to window where you want the video to play
  129. ' Picture1 GotFocus will return window "handle #" (hWnd) as
  130. ' HwndFrame
  131.    Picture1.SetFocus
  132. ' We have to put a delay here to allow for timing, or we may
  133. ' get the wrong hWnd #
  134.    WaitForEventsToFinish (50)
  135.  
  136. ' Convert to string and set the window to use
  137.    HwndFr$ = CStr(HwndFrame)
  138.    Action$ = "window " + AliasName$ + " handle " + HwndFr$
  139.    i = mciExecute(Action$)
  140.  
  141. ' Show the filename and mode then play the video
  142.    Label1.Caption = mciFileName
  143.    Label10.Caption = "Playing...   "
  144.    Action$ = "Play VID"
  145.    i = mciExecute(Action$)
  146. End Sub
  147.  
  148. Sub Command2_Click ()
  149. ' If we're not already paused, use the "Pause" command
  150.    If Paused = False Then
  151.       Action$ = "Pause " + AliasName$
  152.       Label10.Caption = "Paused...    "
  153.    End If
  154. ' If we're paused use the "Play" command to resume
  155.    If Paused = True Then
  156.       Action$ = "Play " + AliasName$
  157.       Label10.Caption = "Playing...   "
  158.    End If
  159.  
  160. ' toggle the status of the "Paused" flag
  161.    If Paused = True Then
  162.       Paused = False
  163.    Else
  164.       Paused = True
  165.    End If
  166.    
  167.    i = mciExecute(Action$)
  168. End Sub
  169.  
  170. Sub Command3_Click ()
  171. ' Single step video forward by "1" frame
  172.    Action$ = "step " + AliasName$ + " by 1"
  173.    i = mciExecute(Action$)
  174.  
  175. ' Change the mode label, SetFocus back to "Pause"
  176.    Label10.Caption = "Single Step..."
  177.    Command2.SetFocus
  178. End Sub
  179.  
  180. Sub Command4_Click ()
  181. ' Stop the video, close the MCI device
  182.    Action$ = "Close all"
  183.    i = mciExecute(Action$)
  184.  
  185. ' Clear Filename, show mode
  186.    Label1.Caption = ""
  187.    Label10.Caption = "Done...      "
  188.  
  189. ' SetFocus to Picture1 and blank out the video
  190.    Picture1.SetFocus
  191.    Picture1.BackColor = &H808080
  192.  
  193. ' SetFocus back for the next file
  194.    File1.SetFocus
  195. End Sub
  196.  
  197. Sub Command5_Click ()
  198. ' Toggle the sound on and off
  199.    If SoundStatus = True Then
  200.       Action$ = "setaudio " + AliasName$ + " off"
  201.       Label10.Caption = "Sound Off...  "
  202.    Else
  203.       Action$ = "setaudio " + AliasName$ + " on"
  204.       Label10.Caption = "Sound On...  "
  205.    End If
  206.  
  207. ' toggle the status of the "SoundStatus" flag
  208.    If SoundStatus = True Then
  209.       SoundStatus = False
  210.    Else
  211.       SoundStatus = True
  212.    End If
  213.  
  214.    i = mciExecute(Action$)
  215. End Sub
  216.  
  217. Sub Dir1_Change ()
  218. ' Get the Directory
  219.    ChDir Form1.Dir1.List(Form1.Dir1.ListIndex)
  220.    File1.Path = CurDir$
  221.    File1.Refresh
  222. End Sub
  223.  
  224. Sub Drive1_Change ()
  225. ' Get the disk drive
  226.    ChDrive Form1.Drive1.List(Form1.Drive1.ListIndex)
  227.    Dir1.Path = CurDir$
  228.    Dir1.Refresh
  229. End Sub
  230.  
  231. Sub File1_Click ()
  232. ' Get the MCI filename
  233.    mciFile = File1.List(File1.ListIndex)
  234.    Label1.Caption = mciFile
  235. ' SetFocus to "Play"
  236.    Command1.SetFocus
  237. End Sub
  238.  
  239. Sub File1_DblClick ()
  240. ' This just is a shortcut, it will start playing the video
  241. ' without pressing the "Play" key
  242.  
  243. ' Close any open MCI devices
  244.    Action$ = "Close all"
  245.    i = mciExecute(Action$)
  246.  
  247. ' Open up the file, using an alias (VID)
  248.    AliasName$ = "VID"
  249.    Action$ = "open " + mciFile + " alias " + AliasName$
  250.    i = mciExecute(Action$)
  251.  
  252. ' Set focus to window where video is to play
  253.    Picture1.SetFocus
  254. ' We have to put a delay here to allow for timing, or we may
  255. ' get the wrong hWnd #
  256.    WaitForEventsToFinish (50)
  257.  
  258. ' Picture1 GotFocus returns window "handle#" as HwndFrame
  259. ' Convert it to a string and set the window to use
  260.    HwndFr$ = CStr(HwndFrame)
  261.    Action$ = "window " + AliasName$ + " handle " + HwndFr$
  262.    i = mciExecute(Action$)
  263.  
  264. ' Label the filename and mode
  265.    Label1.Caption = mciFile
  266.    Label10.Caption = "Playing...   "
  267.  
  268. ' Play the video
  269.    Action$ = "play " + AliasName$
  270.    i = mciExecute(Action$)
  271.    Command1.SetFocus
  272.  
  273. End Sub
  274.  
  275. Sub File1_GotFocus ()
  276. SoundStatus = True
  277. Paused = False
  278.  
  279. End Sub
  280.  
  281. Sub Form_Unload (Cancel As Integer)
  282. ' Close all files on exit
  283.    Action$ = "Close all"
  284.    i = mciExecute(Action$)
  285. End Sub
  286.  
  287. Sub Picture1_GotFocus ()
  288. ' Get the hWnd "handle number" for the Picture1 window
  289. ' HwndFrame & GetFocus() are defined in Global.bas
  290.    HwndFrame = GetFocus()
  291. End Sub
  292.  
  293.